
Quick answer: Yes, you can track QR code scans, but only if you use a dynamic QR code. Dynamic QR codes record every scan and provide real-time analytics including total scans, unique scans, scan location (city and country), device type, operating system, and time of scan. Static QR codes cannot be tracked because they encode the destination URL directly with no intermediary server to log data.
If you have already created a static QR code (from Canva, Adobe Express, Google Chrome, or a basic free generator), that code is not trackable. To start tracking, you need to generate a new dynamic QR code from a platform that provides analytics.
This guide covers three proven methods for tracking QR code scans:
1. Built-in analytics from your QR code generator platform
2. Google Analytics 4 with UTM parameters
3. URL shortener analytics (Bitly, TinyURL)
We will also walk through what metrics you can actually see, compare tracking platforms, and answer the most common questions about QR code analytics.
Before diving into how to track, here is what data is actually available when someone scans your QR code.
1. Total Scans
The total number of times your QR code was scanned, including repeat scans by the same person. This is your raw engagement number and the best measure of overall campaign reach.
2. Unique Scans
The number of distinct devices that scanned the code. More accurate than total scans for understanding how many individual people actually engaged with your QR code.
3. Scan Location (City and Country)
A geographic breakdown showing where scans occurred, based on the scanner's IP address. Essential for local businesses running multi-location campaigns.
4. Device and Operating System
Whether scanners used iOS or Android, and which device models they used. Helpful for optimizing the destination landing page to match the dominant device type.
5. Time of Scan (Day and Hour)
When scans happen throughout the day, week, and month. This data helps you identify peak engagement windows and optimize campaign timing.
6. Referral Source / Scan Origin
Which physical or digital placement drove each scan. This requires using one unique QR code per location or channel (for example, one for your flyer and a different one for your packaging).
7. Conversion Actions
What users do after scanning, including page views, sign-ups, and purchases. This requires Google Analytics or a similar web analytics tool installed on the destination page.
Metrics 1 through 5 come from built-in QR code platform analytics. Metrics 6 and 7 require either multiple unique QR codes or Google Analytics integration.
This is the simplest tracking method and the one most people should start with. Most dynamic QR code generators include a built-in analytics dashboard that automatically tracks scans. No setup required: when someone scans the code, the redirect server logs the data.
Here is how it works in three steps:
Step 1: Create a dynamic QR code. Choose a QR code generator that offers analytics (not just a static code creator). Generate a dynamic QR code pointing to your destination URL. UseQRKit's free tier includes 5 dynamic QR codes with full scan analytics, no credit card required.
Step 2: Deploy the QR code. Place it on your marketing materials, products, signage, business cards, or digital channels.
Step 3: Check your analytics dashboard. Log into your QR code generator account and view the scan data. Most platforms show total scans, unique scans, location, device, and time data in real time or near real time.
Here is a comparison of what different platforms include in their free analytics:
Platform Comparison: UseQRKit offers 5 free dynamic QR codes with full analytics (scans, location, device, time) and unlimited scans. Bitly provides 10 QR codes with basic click analytics and limited history. QRStuff offers limited free codes with basic scan count (capped). QR-Codes.com provides a free trial with full analytics during trial period only.
This method works best when you want automatic, hands-off tracking without any additional setup. Create the QR code, deploy it, and the data starts flowing.
If you already use Google Analytics on your website, you can track QR code traffic alongside all your other traffic sources. This method works by adding UTM parameters to your destination URL before generating the QR code.
When someone scans and lands on your site, GA4 reads the UTM parameters and categorizes the traffic source automatically.
Step 1: Build your UTM URL. Use Google's Campaign URL Builder to add tracking parameters to your destination URL. Set:
utm_source = qr_code (or a specific placement like "flyer" or "packaging")
utm_medium = print (or "digital" for screen-based QR codes)
utm_campaign = your campaign name (for example, "summer_sale_2026")
Step 2: Shorten the URL. Long UTM URLs create complex, dense QR codes that are harder to scan. Use a URL shortener like bit.ly or tinyurl.com to simplify the URL before generating the QR code.
Step 3: Generate the QR code. Use the shortened URL in any QR code generator, static or dynamic. Even a free static QR code works here because the tracking happens in GA4, not in the QR code platform.
Step 4: Test in GA4 Real-Time. After generating the code, scan it yourself and check GA4 in Reports, then Realtime, then Event count by Event name. Look for page_view events and verify that your campaign, medium, and source parameters are appearing correctly.
Step 5: View data in Traffic Acquisition. After your campaign launches, find QR code data in GA4 under Reports, then Acquisition, then Traffic Acquisition. Change the primary dimension to "Session medium" and look for your "print" or "qr_code" entries.
This method gives you the deepest analytics (full funnel tracking, conversion data, user behavior on your site) but requires more setup than built-in platform analytics.
URL shorteners like Bitly and TinyURL track every click on a shortened link. If you create a QR code using a Bitly short URL, every scan gets logged in Bitly's analytics dashboard, even if the QR code itself was generated with a free static code generator.
Here is how to set it up:
1. Create a short URL with Bitly or TinyURL for your destination page.
2. Use the short URL in any QR code generator (static or dynamic both work).
3. View click analytics in the URL shortener's dashboard.
Pros: Free, works with any QR code generator (including static codes), provides basic analytics including click count, location, and referrer data.
Cons: Less detailed than dedicated QR platform analytics (typically no OS or device data), requires managing an additional service, and the short URL adds an extra redirect hop that can make loading slightly slower.
When to use this method: When you already have printed static QR codes and want some tracking without reprinting. Or when you want a quick, free tracking layer on top of any QR code generator.
Here is a side-by-side comparison to help you choose:
Comparison of Built-in Platform Analytics, Google Analytics 4, and URL Shortener methods:
Built-in Platform Analytics: Setup is None (automatic), Cost is Free tier available, Metrics include Scans, unique, location, device, OS, time, Works with Static QR Codes: No (dynamic only), Real-Time Data: Yes, Conversion Tracking: Basic (scan counts), Best For: Quick scan analytics.
Google Analytics 4: Setup is Medium (UTM setup required), Cost is Free (GA4 is free), Metrics include Sessions, conversions, user behavior, Works with Static QR Codes: Yes (with UTM URL), Real-Time Data: Yes (Realtime reports), Conversion Tracking: Advanced (full funnel), Best For: Website behavior after scan.
URL Shortener: Setup is Easy (paste URL), Cost is Free (Bitly free tier), Metrics include Clicks, location, referrer, Works with Static QR Codes: Yes, Real-Time Data: Varies by platform, Conversion Tracking: No, Best For: Basic click tracking.
Our recommendation:
Most users should start with built-in platform analytics (Method 1). It is automatic, free, and provides the most QR-specific data.
Marketers with GA4 should add UTM parameters (Method 2) for campaign attribution and conversion tracking.
Quick add-on tracking with a URL shortener (Method 3) works for lightweight tracking on any QR code.
Maximum data comes from combining Methods 1 and 2: use a dynamic QR code platform with analytics and add UTM parameters for GA4 integration.
One of the most common questions we see is whether QR codes created with popular design tools include tracking. Here is the answer for each:
No. Canva generates static QR codes that cannot be tracked. The QR code encodes the URL directly with no intermediary server to log data. If you need tracking, create a dynamic QR code from a platform like UseQRKit and download it as an image to use in your Canva designs.
No. Adobe Express also generates static QR codes with no tracking capability. The same workaround applies: create a trackable dynamic QR code elsewhere and import the image into Adobe Express.
No. Chrome's "Share this page" QR code feature creates static codes with no analytics, no editing, and no tracking.
Yes. Bitly creates dynamic QR codes with built-in click analytics. Free Bitly accounts include basic analytics; paid plans provide more detailed data and longer history.
Workaround for any static QR code: If you have already printed static QR codes and want some tracking, use Method 3 (URL shortener). Create a Bitly link for your destination URL and update your landing page to include UTM parameters. Then use GA4 to track visits. This will not give you scan-level analytics, but it provides campaign-level tracking.
A common concern is whether QR code tracking means someone can identify who scanned a code. Here is what you can and cannot see.
What you CAN track:
Number of scans (total and unique)
Approximate location (city and country, based on IP address)
Device type and operating system
Time and date of each scan
Which QR code was scanned (when using unique codes per campaign or location)
What users do after landing on your page (with GA4 installed on the destination)
What you CANNOT track:
Personal identity (name, email, phone number), unless the user voluntarily submits this information on your landing page
Exact physical address of the scanner
Whether someone took a photo of the QR code versus scanning it live
Who scanned if the same device is shared by multiple people
QR code scan analytics are anonymous by design. They record device and location data, not personal identity. If your landing page collects personal data (like an email sign-up form), include a clear privacy policy, but the QR code scan itself does not capture personal information.
Printed QR codes (on flyers, business cards, posters, and packaging) have specific tracking considerations. Here are five best practices for print campaign tracking:
1. Use one unique QR code per placement. Create separate QR codes for your flyer, business card, poster, and product packaging. This lets you see exactly which placement drives the most scans.
2. Always use dynamic QR codes for print. If a printed static QR code breaks or the destination URL changes, you cannot fix it without reprinting. Dynamic codes let you update the destination URL anytime.
3. Add UTM parameters with placement identifiers. Use utm_source=flyer, utm_source=packaging, or utm_source=business_card to distinguish traffic sources in GA4.
4. Test QR codes at print size before printing. Generate the code, print a test at the actual size it will appear, and scan it with at least three different phones to verify it works reliably.
5. Include a clear call to action near the QR code. "Scan to get 20% off" outperforms a QR code with no context. The CTA helps set expectations and drives higher scan rates.
Can you track QR code scans?
Yes, but only with dynamic QR codes. Dynamic codes use a redirect server that logs every scan with data including location, device, time, and unique versus repeat scans. Static QR codes encode data directly and provide no analytics.
How do I track QR code scans for free?
Use a free dynamic QR code generator like UseQRKit that includes built-in scan analytics. Alternatively, use Google Analytics 4 (free) with UTM parameters on any QR code, or use Bitly's free tier for basic click tracking.
Can you track QR code scans in Google Analytics?
Yes. Add UTM parameters to your destination URL before generating the QR code. When users scan and land on your site, GA4 reads the UTM values and categorizes the traffic. View data in GA4 under Reports, then Acquisition, then Traffic Acquisition.
Can you track QR code scans in Canva?
No. Canva generates static QR codes that cannot be tracked. To track scans, create a dynamic QR code from a platform like UseQRKit and import the image into your Canva design.
Can you track who scans a QR code?
QR code analytics track anonymous data: device type, location, time, and operating system. They do not identify individual people by name, email, or phone number unless the user voluntarily submits that information on the destination page.
What is the difference between total scans and unique scans?
Total scans count every scan event, including repeat scans by the same person. Unique scans count one scan per device, giving a more accurate picture of how many distinct people engaged with your QR code.
Can I see the history of QR codes scanned?
Yes. Most dynamic QR code platforms provide a scan history dashboard showing every scan with timestamp, location, and device data. You can view scan trends over time to identify patterns and peak engagement periods.
How do I check QR code transaction history?
If your QR code links to a payment or transaction page, check your payment processor (Stripe, Square, PayPal) for transaction records. QR code scan analytics track the scan event itself; transaction tracking requires integration with your payment or e-commerce platform.
Do I need a paid plan to track QR code scans?
Not necessarily. Several platforms offer free dynamic QR codes with basic analytics. UseQRKit includes 5 free dynamic QR codes with full scan tracking. Google Analytics 4 is also free and works with any QR code using UTM parameters.
Can I track QR code scans on print materials?
Yes. Use a dynamic QR code with built-in analytics or add UTM parameters for GA4 tracking. Create one unique QR code per placement (flyer, poster, business card) to see which print channel drives the most scans.
Can I track dynamic QR codes?
Yes. Tracking is a core feature of dynamic QR codes. Every dynamic QR code automatically logs scans through its redirect server. This is one of the main advantages of dynamic over static QR codes.
How do I measure QR code scans?
Use the analytics dashboard provided by your dynamic QR code generator. Key metrics to monitor include total scans, unique scans, scan location, device type, and time trends. For deeper analysis, combine with Google Analytics 4 via UTM parameters.
Every untracked QR code is a missed opportunity. Whether you are running a print campaign, adding QR codes to product packaging, or sharing them digitally, tracking tells you what is working and what needs to change.
The fastest way to get started: create a free dynamic QR code with UseQRKit. You will get full scan analytics (location, device, time, unique scans) on up to 5 QR codes, with no credit card required. Your first scan data will appear in seconds.

Quick answer: Yes, you can track QR code scans, but only if you use a dynamic QR code. Dynamic QR codes record every scan and provide real-time analytics including total scans, unique scans, scan location (city and country), device type, operating system, and time of scan. Static QR codes cannot be tracked because they encode the destination URL directly with no intermediary server to log data.
If you have already created a static QR code (from Canva, Adobe Express, Google Chrome, or a basic free generator), that code is not trackable. To start tracking, you need to generate a new dynamic QR code from a platform that provides analytics.
This guide covers three proven methods for tracking QR code scans:
1. Built-in analytics from your QR code generator platform
2. Google Analytics 4 with UTM parameters
3. URL shortener analytics (Bitly, TinyURL)
We will also walk through what metrics you can actually see, compare tracking platforms, and answer the most common questions about QR code analytics.
Before diving into how to track, here is what data is actually available when someone scans your QR code.
1. Total Scans
The total number of times your QR code was scanned, including repeat scans by the same person. This is your raw engagement number and the best measure of overall campaign reach.
2. Unique Scans
The number of distinct devices that scanned the code. More accurate than total scans for understanding how many individual people actually engaged with your QR code.
3. Scan Location (City and Country)
A geographic breakdown showing where scans occurred, based on the scanner's IP address. Essential for local businesses running multi-location campaigns.
4. Device and Operating System
Whether scanners used iOS or Android, and which device models they used. Helpful for optimizing the destination landing page to match the dominant device type.
5. Time of Scan (Day and Hour)
When scans happen throughout the day, week, and month. This data helps you identify peak engagement windows and optimize campaign timing.
6. Referral Source / Scan Origin
Which physical or digital placement drove each scan. This requires using one unique QR code per location or channel (for example, one for your flyer and a different one for your packaging).
7. Conversion Actions
What users do after scanning, including page views, sign-ups, and purchases. This requires Google Analytics or a similar web analytics tool installed on the destination page.
Metrics 1 through 5 come from built-in QR code platform analytics. Metrics 6 and 7 require either multiple unique QR codes or Google Analytics integration.
This is the simplest tracking method and the one most people should start with. Most dynamic QR code generators include a built-in analytics dashboard that automatically tracks scans. No setup required: when someone scans the code, the redirect server logs the data.
Here is how it works in three steps:
Step 1: Create a dynamic QR code. Choose a QR code generator that offers analytics (not just a static code creator). Generate a dynamic QR code pointing to your destination URL. UseQRKit's free tier includes 5 dynamic QR codes with full scan analytics, no credit card required.
Step 2: Deploy the QR code. Place it on your marketing materials, products, signage, business cards, or digital channels.
Step 3: Check your analytics dashboard. Log into your QR code generator account and view the scan data. Most platforms show total scans, unique scans, location, device, and time data in real time or near real time.
Here is a comparison of what different platforms include in their free analytics:
Platform Comparison: UseQRKit offers 5 free dynamic QR codes with full analytics (scans, location, device, time) and unlimited scans. Bitly provides 10 QR codes with basic click analytics and limited history. QRStuff offers limited free codes with basic scan count (capped). QR-Codes.com provides a free trial with full analytics during trial period only.
This method works best when you want automatic, hands-off tracking without any additional setup. Create the QR code, deploy it, and the data starts flowing.
If you already use Google Analytics on your website, you can track QR code traffic alongside all your other traffic sources. This method works by adding UTM parameters to your destination URL before generating the QR code.
When someone scans and lands on your site, GA4 reads the UTM parameters and categorizes the traffic source automatically.
Step 1: Build your UTM URL. Use Google's Campaign URL Builder to add tracking parameters to your destination URL. Set:
utm_source = qr_code (or a specific placement like "flyer" or "packaging")
utm_medium = print (or "digital" for screen-based QR codes)
utm_campaign = your campaign name (for example, "summer_sale_2026")
Step 2: Shorten the URL. Long UTM URLs create complex, dense QR codes that are harder to scan. Use a URL shortener like bit.ly or tinyurl.com to simplify the URL before generating the QR code.
Step 3: Generate the QR code. Use the shortened URL in any QR code generator, static or dynamic. Even a free static QR code works here because the tracking happens in GA4, not in the QR code platform.
Step 4: Test in GA4 Real-Time. After generating the code, scan it yourself and check GA4 in Reports, then Realtime, then Event count by Event name. Look for page_view events and verify that your campaign, medium, and source parameters are appearing correctly.
Step 5: View data in Traffic Acquisition. After your campaign launches, find QR code data in GA4 under Reports, then Acquisition, then Traffic Acquisition. Change the primary dimension to "Session medium" and look for your "print" or "qr_code" entries.
This method gives you the deepest analytics (full funnel tracking, conversion data, user behavior on your site) but requires more setup than built-in platform analytics.
URL shorteners like Bitly and TinyURL track every click on a shortened link. If you create a QR code using a Bitly short URL, every scan gets logged in Bitly's analytics dashboard, even if the QR code itself was generated with a free static code generator.
Here is how to set it up:
1. Create a short URL with Bitly or TinyURL for your destination page.
2. Use the short URL in any QR code generator (static or dynamic both work).
3. View click analytics in the URL shortener's dashboard.
Pros: Free, works with any QR code generator (including static codes), provides basic analytics including click count, location, and referrer data.
Cons: Less detailed than dedicated QR platform analytics (typically no OS or device data), requires managing an additional service, and the short URL adds an extra redirect hop that can make loading slightly slower.
When to use this method: When you already have printed static QR codes and want some tracking without reprinting. Or when you want a quick, free tracking layer on top of any QR code generator.
Here is a side-by-side comparison to help you choose:
Comparison of Built-in Platform Analytics, Google Analytics 4, and URL Shortener methods:
Built-in Platform Analytics: Setup is None (automatic), Cost is Free tier available, Metrics include Scans, unique, location, device, OS, time, Works with Static QR Codes: No (dynamic only), Real-Time Data: Yes, Conversion Tracking: Basic (scan counts), Best For: Quick scan analytics.
Google Analytics 4: Setup is Medium (UTM setup required), Cost is Free (GA4 is free), Metrics include Sessions, conversions, user behavior, Works with Static QR Codes: Yes (with UTM URL), Real-Time Data: Yes (Realtime reports), Conversion Tracking: Advanced (full funnel), Best For: Website behavior after scan.
URL Shortener: Setup is Easy (paste URL), Cost is Free (Bitly free tier), Metrics include Clicks, location, referrer, Works with Static QR Codes: Yes, Real-Time Data: Varies by platform, Conversion Tracking: No, Best For: Basic click tracking.
Our recommendation:
Most users should start with built-in platform analytics (Method 1). It is automatic, free, and provides the most QR-specific data.
Marketers with GA4 should add UTM parameters (Method 2) for campaign attribution and conversion tracking.
Quick add-on tracking with a URL shortener (Method 3) works for lightweight tracking on any QR code.
Maximum data comes from combining Methods 1 and 2: use a dynamic QR code platform with analytics and add UTM parameters for GA4 integration.
One of the most common questions we see is whether QR codes created with popular design tools include tracking. Here is the answer for each:
No. Canva generates static QR codes that cannot be tracked. The QR code encodes the URL directly with no intermediary server to log data. If you need tracking, create a dynamic QR code from a platform like UseQRKit and download it as an image to use in your Canva designs.
No. Adobe Express also generates static QR codes with no tracking capability. The same workaround applies: create a trackable dynamic QR code elsewhere and import the image into Adobe Express.
No. Chrome's "Share this page" QR code feature creates static codes with no analytics, no editing, and no tracking.
Yes. Bitly creates dynamic QR codes with built-in click analytics. Free Bitly accounts include basic analytics; paid plans provide more detailed data and longer history.
Workaround for any static QR code: If you have already printed static QR codes and want some tracking, use Method 3 (URL shortener). Create a Bitly link for your destination URL and update your landing page to include UTM parameters. Then use GA4 to track visits. This will not give you scan-level analytics, but it provides campaign-level tracking.
A common concern is whether QR code tracking means someone can identify who scanned a code. Here is what you can and cannot see.
What you CAN track:
Number of scans (total and unique)
Approximate location (city and country, based on IP address)
Device type and operating system
Time and date of each scan
Which QR code was scanned (when using unique codes per campaign or location)
What users do after landing on your page (with GA4 installed on the destination)
What you CANNOT track:
Personal identity (name, email, phone number), unless the user voluntarily submits this information on your landing page
Exact physical address of the scanner
Whether someone took a photo of the QR code versus scanning it live
Who scanned if the same device is shared by multiple people
QR code scan analytics are anonymous by design. They record device and location data, not personal identity. If your landing page collects personal data (like an email sign-up form), include a clear privacy policy, but the QR code scan itself does not capture personal information.
Printed QR codes (on flyers, business cards, posters, and packaging) have specific tracking considerations. Here are five best practices for print campaign tracking:
1. Use one unique QR code per placement. Create separate QR codes for your flyer, business card, poster, and product packaging. This lets you see exactly which placement drives the most scans.
2. Always use dynamic QR codes for print. If a printed static QR code breaks or the destination URL changes, you cannot fix it without reprinting. Dynamic codes let you update the destination URL anytime.
3. Add UTM parameters with placement identifiers. Use utm_source=flyer, utm_source=packaging, or utm_source=business_card to distinguish traffic sources in GA4.
4. Test QR codes at print size before printing. Generate the code, print a test at the actual size it will appear, and scan it with at least three different phones to verify it works reliably.
5. Include a clear call to action near the QR code. "Scan to get 20% off" outperforms a QR code with no context. The CTA helps set expectations and drives higher scan rates.
Can you track QR code scans?
Yes, but only with dynamic QR codes. Dynamic codes use a redirect server that logs every scan with data including location, device, time, and unique versus repeat scans. Static QR codes encode data directly and provide no analytics.
How do I track QR code scans for free?
Use a free dynamic QR code generator like UseQRKit that includes built-in scan analytics. Alternatively, use Google Analytics 4 (free) with UTM parameters on any QR code, or use Bitly's free tier for basic click tracking.
Can you track QR code scans in Google Analytics?
Yes. Add UTM parameters to your destination URL before generating the QR code. When users scan and land on your site, GA4 reads the UTM values and categorizes the traffic. View data in GA4 under Reports, then Acquisition, then Traffic Acquisition.
Can you track QR code scans in Canva?
No. Canva generates static QR codes that cannot be tracked. To track scans, create a dynamic QR code from a platform like UseQRKit and import the image into your Canva design.
Can you track who scans a QR code?
QR code analytics track anonymous data: device type, location, time, and operating system. They do not identify individual people by name, email, or phone number unless the user voluntarily submits that information on the destination page.
What is the difference between total scans and unique scans?
Total scans count every scan event, including repeat scans by the same person. Unique scans count one scan per device, giving a more accurate picture of how many distinct people engaged with your QR code.
Can I see the history of QR codes scanned?
Yes. Most dynamic QR code platforms provide a scan history dashboard showing every scan with timestamp, location, and device data. You can view scan trends over time to identify patterns and peak engagement periods.
How do I check QR code transaction history?
If your QR code links to a payment or transaction page, check your payment processor (Stripe, Square, PayPal) for transaction records. QR code scan analytics track the scan event itself; transaction tracking requires integration with your payment or e-commerce platform.
Do I need a paid plan to track QR code scans?
Not necessarily. Several platforms offer free dynamic QR codes with basic analytics. UseQRKit includes 5 free dynamic QR codes with full scan tracking. Google Analytics 4 is also free and works with any QR code using UTM parameters.
Can I track QR code scans on print materials?
Yes. Use a dynamic QR code with built-in analytics or add UTM parameters for GA4 tracking. Create one unique QR code per placement (flyer, poster, business card) to see which print channel drives the most scans.
Can I track dynamic QR codes?
Yes. Tracking is a core feature of dynamic QR codes. Every dynamic QR code automatically logs scans through its redirect server. This is one of the main advantages of dynamic over static QR codes.
How do I measure QR code scans?
Use the analytics dashboard provided by your dynamic QR code generator. Key metrics to monitor include total scans, unique scans, scan location, device type, and time trends. For deeper analysis, combine with Google Analytics 4 via UTM parameters.
Every untracked QR code is a missed opportunity. Whether you are running a print campaign, adding QR codes to product packaging, or sharing them digitally, tracking tells you what is working and what needs to change.
The fastest way to get started: create a free dynamic QR code with UseQRKit. You will get full scan analytics (location, device, time, unique scans) on up to 5 QR codes, with no credit card required. Your first scan data will appear in seconds.